package com.site.controller;

import com.site.common.R;
import com.site.util.RedisUtil;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.concurrent.TimeUnit;

@RestController
@RequestMapping("/redis")
public class RedisController {

    /**
     * Redis 订阅发布测试（RedisMessageListener监听）
     * @param message
     * @return
     */
    @GetMapping("/send")
    public R<String> send(String message){
        RedisUtil.instance.getStringRedisTemplate().convertAndSend("RedisTopic",message);
        return R.ok();
    }

    /**
     * Redis 所有的 key 过期监听（RedisKeyExpirationListener监听）
     * @return
     */
    @GetMapping("/key")
    public R<String> addKey(){
        RedisUtil.instance.getStringRedisTemplate().opsForValue().set("test","test",10, TimeUnit.SECONDS);
        return R.ok();
    }
}
